#ifndef CPOINT3F_H
#define CPOINT3F_H

class CVecteur3f;
#include "math.h"
#include "cvecteur3f.h"

class CPoint3f
{
public:
	CPoint3f();
	CPoint3f(double, double, double);
	CPoint3f(const CPoint3f &);
	CPoint3f(const CVecteur3f &);

	void            Add(CPoint3f *);
	void            Add(CPoint3f);

	double          Distance(CPoint3f *);
	double          Distance(CPoint3f);

	void            operator=(CPoint3f);
	CPoint3f        crossProduct(CPoint3f);
	void            normalize();

	void            Div(double);
	void            Mult(double);

	double          GetX();
	double          GetY();
	double          GetZ();

	void            SetX (double);
	void            SetY (double);
	void            SetZ (double);
	void            Set (double, double, double);

	bool            operator==(CPoint3f);
		bool            operator!=(CPoint3f);
		void            operator+=(CPoint3f);
		void            operator-=(CPoint3f);

	CPoint3f		operator+(CVecteur3f);

protected:
	double          m_fX;
	double          m_fY;
	double          m_fZ;
};

#endif // CPOINT3F_H
